package ifes;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


/*
 * Verifica a frequencia que as palavras aparecem em um texto
 */
public class FrequenciaPalavra {

    public static Map<String, Integer> frequenciaPalavra(String texto) {
        String[] arr_removable = {"(", ")", ":", ";", "\"", "\'", ",", ".", "\n", "\t", "!", "?"};
        List<String> removable = Arrays.asList(arr_removable);

        for (String rem : removable) {
            if (texto.contains(rem)) {
                texto = texto.replace(rem, "");
            }
        }

        HashMap<String, Integer> hash = new HashMap<>();
        List<String> palavras = Arrays.asList(texto.split(" "));

        for (String palavra : palavras) {
            if (!palavra.equals("")) {
                if (hash.containsKey(palavra)) {
                    hash.put(palavra, hash.get(palavra) + 1);
                } else {
                    hash.put(palavra, 1);
                }
            }
        }

        return hash;
    }

    public static void main(String[] args) {
        String texto = "";

        Map<String, Integer> mapeamento = frequenciaPalavra(texto);
        for (Map.Entry<String, Integer> entry : mapeamento.entrySet()) {
            String palavra = entry.getKey();
            Integer quantidade = entry.getValue();
            System.out.println(palavra + " = " + quantidade);
        }
    }
}